A. Field of the Invention
The present invention relates to a router that connects virtual-connection-oriented networks and a method whereby multicast packets are transferred to a different logical network through a router.
B. Description of the Background Art
A router is employed in connecting logical networks; it performs the function of transferring packets from one logical network to another logical network. A packet, in addition to containing communication information data that is to be transferred, contains network layer addresses of its source and final destination. Using the destination address, the router determines the output interface of the packet and the next-hop node to which the packet is to be transferred.
Such a router device, in addition to providing unicast communication in which packets are transferred from one source node to one final destination node, is also capable of multicast communication, in which packets are sent from a single source to a plurality of destination nodes.
In recent years, resource reservation at the router has been used when audio and/or pictures are transferred using packets. Transferring audio/pictures and other data without resource reservation results in broken audio and corrupt video. The resource reservation technique is useful not only in transferring information which requires a certain desired transfer rate, such as audio and pictures, but also in transferring high priority data.
In order to perform resource reservation at the router, resource reservation information is exchanged between nodes, including routers. One protocol currently being developed for resource reservation, RSVP (Resource reSerVation Protocol), applies to both unicast and multicast.
In RSVP, resource reservation is performed from a destination node to a source node. Specifically, a PATH message is sent from node to node along a path in a direction flowing from the source node to the destination node. Routers along this path store information regarding the path on which the data is to be transferred based on the PATH message. This PATH message contains an identifier specifying the packet flow for which the resource reservation is to be performed and an IP address of the node that sent the PATH message.
When the destination node receives the PATH message, it makes its request for resource reservation by sending an RESV message upstream, back to the source node in response to the PATH message. This RESV message contains an identifier specifying the packet flow for which resources are to be reserved. In RSVP, for example, this identifier is called Flow ID. The RESV message also contains a quality of service (QOS) requested by the destination node.
When a router receives the RESV message, it determines whether its network-layer (e.g., Internet Protocol (IP)) processing section has sufficient capacity for this resource reservation. If so, the router performs network-layer scheduling to reserve the resources and transfers the RESV message upstream. If not, the router sends an RESV_ERROR message downstream. This procedure is repeated until the RESV message reaches the source node, thereby completing the resource reservation.
If a Local Area Network (LAN) constituting a logical network is implemented by a virtual-connection-oriented network, and resource reservation is effected in multicast communication in response to a request from a certain receiving (destination) node, resource reservation within the LAN can be implemented by creating one point-multipoint virtual connection (VC) with resource reservation for one multicast address and also creating another xe2x80x9cbest effortxe2x80x9d point-multipoint VC (i.e., with no resource reservation) for the same multicast address.
For example, when sending a multicast packet of destination address G to receiving (destination) nodes H1, H2, H3 and H4 from sending (source) node S, if H1 and H2 have requested QOS but H3 and H4 have not requested QOS, there are set up a point-multipoint VC with the requested QOS for destination address G to H1, H2 from S and another xe2x80x9cbest effortxe2x80x9d point-multipoint VC for destination address G to H3, H4 from S.
However, the conventional technology has not considered a situation where a receiving node requests QOS for a specified application, like video conference, but does not request QOS for the other applications working on the identical receiving node.
For example, if two VCs, one of which is with QOS and the other of which is xe2x80x9cbest effortxe2x80x9d, are set up to reach one downstream node and an upstream node duplicates a packet to transmit each packet through each VC because both VCs are related to the same destination address, the downstream node will receive two packets identical to each other. If the downstream node operates like above to transfer the received packets to a further downstream node, the further downstream node will receive four packets identical to one another. The number of identical packets is doubled every time the multicast tree is traced.
Another recently developed technique for transferring packets at a higher rate is a Cell Switched Router (CSR). This is a particular type of router that has a datalink-layer switch to transfer packets in addition to a network-layer processing section (an ordinary router software for packet forwarding). This technology makes it possible for a router to transfer packets at a layer lower than the network layer by directly linking an input virtual connection (VC) and an output VC through the switch.
However, when this technology is applied to multicast packet transfer, packets may not be delivered to some of the receiving parties that participate in the multicast group, if the direct linking is not performed for all the receiving parties and multicast packets only flow onto the VC that is directly linked.
On the other hand, if packets flow onto two VCs, one of which is directly linked and the other of which is not directly linked (supposed to be used for hop-by-hop transfer), the above-mentioned packet duplication may occur.
It is therefore an object of the present invention to provide a mechanism for performing an efficient and adequate multicast packet transfer when a certain one of the destination nodes participating in the multicast communication requires resource reservation for a certain packet flow specified among the packet flows to that destination node.
Another object of the present invention is to provide a mechanism for performing an efficient and adequate multicast packet transfer when a router has a function for directly linking virtual connections belonging to different logical networks.
Yet another object of the present invention is to achieve high-speed packet transfer by lightening the load on the network-layer processing section when one packet is output by a router to a plurality of virtual connections.
According to one aspect of the present invention, there is provided a mechanism for transferring a packet destined for a plurality of destination nodes in multicast communication, in a network having a first node and a plurality of second nodes. The mechanism sets up a plurality of virtual connections in the network, each of the plurality of virtual connections being set up from the first node to one or more of the plurality of second nodes; and transmits a plurality of packets destined for the destination nodes from the first node using the plurality of virtual connections, so that each of the plurality of second nodes receives the plurality of packets destined for the destination nodes without duplication through one or more of the plurality of virtual connections and at least one of the plurality of second nodes receives the plurality of packets through at least two of the plurality of virtual connections.
According to another aspect of the present invention, a mechanism sets up a first virtual connection from the first node to the plurality of second nodes; sets up a second virtual connection from the first node to at least a specified one of the plurality of second nodes; transmits a plurality of packets from the first node, so that each of the plurality of second nodes receives the packets destined for the destination nodes through the first virtual connection and at least the specified one of the plurality of second nodes receives the packets destined for the destination nodes and belonging to a specified flow also through the second virtual connection; and discards the packets destined for the destination nodes and belonging to the specified flow received through the first virtual connection at the specified node.
According to yet another aspect of the present invention, there is provided a mechanism for transferring a packet from a first node belonging to one logical network to a second node belonging to another logical network, comprising: a memory for storing a correspondence relationship between a first virtual connection for receiving a packet from the first node and a second virtual connection for transmitting the packet to the second node; first means for transferring a packet received from the first node to a next-hop node determined by analyzing a destination address contained in the packet; second means for transferring a packet destined for a plurality of destination nodes in multicast communication received through the first virtual connection onto the second virtual connection in accordance with the correspondence relationship, when the correspondence relationship is stored in the memory; and means for copying the packet received through the first virtual connection to hand over the packet to the first means, when it is determined that the next-hop node will not receive the packet destined for the destination nodes if the packet is transferred only by the second means.
According to yet another aspect of the present invention, there is provided a mechanism comprising: a memory for storing a correspondence relationship between a first virtual connection for receiving a packet from the first node and a second virtual connection for transmitting the packet to the second node; first means for transferring a packet received from the first node to a next-hop node determined by analyzing a destination address contained in the packet; second means for transferring a packet received through the first virtual connection onto the second virtual connection in accordance with the stored correspondence relationship, when the correspondence relationship is stored in the memory; and means for discarding a packet received through another virtual connection different from the first virtual connection before the packet is handed over to the first means, when the packet received through said another virtual connection is identical to the packet received through the first virtual connection.
According to yet another aspect of the present invention, there is provided a mechanism for transferring a packet destined for a plurality of destination nodes in multicast communication from a first node belonging to one logical network through a switch for exchanging the packet to a second node and a third node belonging to another logical network different from said one logical network. The mechanism stores a correspondence relationship between a first virtual connection for transferring a packet and a second virtual connection for transmitting the packet to the second node and a third virtual connection for transmitting the packet to the third node; transfers a packet received from the first node through the first virtual connection to the switch by analyzing a destination address contained in the packet; and transfers, by the switch, the packet received through the first virtual connection onto the second and third virtual connections in accordance with the stored correspondence relationship.
Other features and advantage of the present invention will be become apparent from the following description taken in conjunction with the accompanying drawings.
Both the foregoing general description and the following detailed description provide examples consistent with this invention and explain how to make and use systems and methods consistent with the invention. These description do not restrict the claimed invention.